/*!
 * FullCalendar v3.2.0 Stylesheet
 * Docs & License: https://fullcalendar.io/
 * (c) 2017 Adam Shaw
 */

#ypCalendar {
	max-width: 100% !important;
	position: relative !important;
}

.yp_fc {
	direction: ltr !important;
	text-align: left !important;
}

.yp_fc-rtl {
	text-align: right !important;
}

body .yp_fc { /* extra precedence to overcome jqui */
	font-size: 1em !important;
}


/* Colors
--------------------------------------------------------------------------------------------------*/

.yp_fc-unthemed th,
.yp_fc-unthemed td,
.yp_fc-unthemed thead,
.yp_fc-unthemed tbody,
.yp_fc-unthemed .yp_fc-divider,
.yp_fc-unthemed .yp_fc-row,
.yp_fc-unthemed .yp_fc-content, /* for gutter border */
.yp_fc-unthemed .yp_fc-popover,
.yp_fc-unthemed .yp_fc-list-view,
.yp_fc-unthemed .yp_fc-list-heading td {
	border-color: #ddd !important;
}

.yp_fc-unthemed .yp_fc-popover {
	background-color: #fff !important;
}

.yp_fc-unthemed .yp_fc-divider,
.yp_fc-unthemed .yp_fc-popover .yp_fc-header,
.yp_fc-unthemed .yp_fc-list-heading td {
	background: #eee !important;
}

.yp_fc-unthemed .yp_fc-popover .yp_fc-header .yp_fc-close {
	color: #666 !important;
}

.yp_fc-unthemed td.yp_fc-today {
	background: #fcf8e3 !important;
}

.yp_fc-highlight { /* when user is selecting cells */
	background: #bce8f1 !important;
	opacity: .3 !important;
}

.yp_fc-bgevent { /* default look for background events */
	background: rgb(143, 223, 130) !important;
	opacity: .3 !important;
}

.yp_fc-nonbusiness { /* default look for non-business-hours areas */
	/* will inherit .yp_fc-bgevent's styles */
	background: #d7d7d7 !important;
}


/* Icons (inline elements with styled text that mock arrow icons)
--------------------------------------------------------------------------------------------------*/

.yp_fc-icon {
	display: inline-block !important;
	height: 1em !important;
	line-height: 1em !important;
	font-size: 1em !important;
	text-align: center !important;
	overflow: hidden !important;
	font-family: "Courier New", Courier, monospace !important;

	/* don't allow browser text-selection */
	-webkit-touch-callout: none !important;
	-webkit-user-select: none !important;
	-khtml-user-select: none !important;
	-moz-user-select: none !important;
	-ms-user-select: none !important;
	user-select: none !important;
	}

/*
Acceptable font-family overrides for individual icons:
	"Arial", sans-serif
	"Times New Roman", serif

NOTE: use percentage font sizes or else old IE chokes
*/

.yp_fc-icon:after {
	position: relative !important;
}

.yp_fc-icon-left-single-arrow:after {
	content: "\02039" !important;
	font-weight: bold !important;
	font-size: 200% !important;
	top: -7% !important;
}

.yp_fc-icon-right-single-arrow:after {
	content: "\0203A" !important;
	font-weight: bold !important;
	font-size: 200% !important;
	top: -7% !important;
}

.yp_fc-icon-left-double-arrow:after {
	content: "\000AB" !important;
	font-size: 160% !important;
	top: -7% !important;
}

.yp_fc-icon-right-double-arrow:after {
	content: "\000BB" !important;
	font-size: 160% !important;
	top: -7% !important;
}

.yp_fc-icon-left-triangle:after {
	content: "\25C4" !important;
	font-size: 125% !important;
	top: 3% !important;
}

.yp_fc-icon-right-triangle:after {
	content: "\25BA" !important;
	font-size: 125% !important;
	top: 3% !important;
}

.yp_fc-icon-down-triangle:after {
	content: "\25BC" !important;
	font-size: 125% !important;
	top: 2% !important;
}

.yp_fc-icon-x:after {
	content: "\000D7" !important;
	font-size: 200% !important;
	top: 6% !important;
}


/* Buttons (styled <button> tags, normalized to work cross-browser)
--------------------------------------------------------------------------------------------------*/

.yp_fc button {
	/* force height to include the border and padding */
	-moz-box-sizing: border-box !important;
	-webkit-box-sizing: border-box !important;
	box-sizing: border-box !important;

	/* dimensions */
	margin: 0 !important;
	height: 2.1em !important;
	padding: 0 .6em !important;

	/* text & cursor */
	font-size: 1em !important; /* normalize */
	white-space: nowrap !important;
	cursor: pointer !important;
}

/* Firefox has an annoying inner border */
.yp_fc button::-moz-focus-inner { margin: 0 !important; padding: 0 !important; }
	
.yp_fc-state-default { /* non-theme */
	border: 1px solid !important;
}

.yp_fc-state-default.yp_fc-corner-left { /* non-theme */
	border-top-left-radius: 4px !important;
	border-bottom-left-radius: 4px !important;
}

.yp_fc-state-default.yp_fc-corner-right { /* non-theme */
	border-top-right-radius: 4px !important;
	border-bottom-right-radius: 4px !important;
}

/* icons in buttons */

.yp_fc button .yp_fc-icon { /* non-theme */
	position: relative !important;
	top: -0.05em !important; /* seems to be a good adjustment across browsers */
	margin: 0 .2em !important;
	vertical-align: middle !important;
}
	
/*
  button states
  borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)
*/

.yp_fc-state-default {
	background-color: #f5f5f5 !important;
	background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6) !important;
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)) !important;
	background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6) !important;
	background-image: -o-linear-gradient(top, #ffffff, #e6e6e6) !important;
	background-image: linear-gradient(to bottom, #ffffff, #e6e6e6) !important;
	background-repeat: repeat-x !important;
	border-color: #e6e6e6 #e6e6e6 #bfbfbf !important;
	border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25) !important;
	color: #333 !important;
	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.yp_fc-state-hover,
.yp_fc-state-down,
.yp_fc-state-active,
.yp_fc-state-disabled {
	color: #333333 !important;
	background-color: #e6e6e6 !important;
}

.yp_fc-state-hover {
	color: #333333 !important;
	text-decoration: none !important;
	background-position: 0 -15px !important;
	-webkit-transition: background-position 0.1s linear !important;
	   -moz-transition: background-position 0.1s linear !important;
	     -o-transition: background-position 0.1s linear !important;
	        transition: background-position 0.1s linear !important;
}

.yp_fc-state-down,
.yp_fc-state-active {
	background-color: #cccccc !important;
	background-image: none !important;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.yp_fc-state-disabled {
	cursor: default !important;
	background-image: none !important;
	opacity: 0.65 !important;
	box-shadow: none !important;
}


/* Buttons Groups
--------------------------------------------------------------------------------------------------*/

.yp_fc-button-group {
	display: inline-block !important;
}

/*
every button that is not first in a button group should scootch over one pixel and cover the
previous button's border...
*/

.yp_fc .yp_fc-button-group > * { /* extra precedence b/c buttons have margin set to zero */
	float: left !important;
	margin: 0 0 0 -1px !important;
}

.yp_fc .yp_fc-button-group > :first-child { /* same */
	margin-left: 0 !important;
}


/* Popover
--------------------------------------------------------------------------------------------------*/

.yp_fc-popover {
	position: absolute !important;
	box-shadow: 0 2px 6px rgba(0,0,0,.15) !important;
}

.yp_fc-popover .yp_fc-header { /* TODO: be more consistent with fc-head/fc-body */
	padding: 2px 4px !important;
}

.yp_fc-popover .yp_fc-header .yp_fc-title {
	margin: 0 2px !important;
}

.yp_fc-popover .yp_fc-header .yp_fc-close {
	cursor: pointer !important;
}

.yp_fc-ltr .yp_fc-popover .yp_fc-header .yp_fc-title,
.yp_fc-rtl .yp_fc-popover .yp_fc-header .yp_fc-close {
	float: left !important;
}

.yp_fc-rtl .yp_fc-popover .yp_fc-header .yp_fc-title,
.yp_fc-ltr .yp_fc-popover .yp_fc-header .yp_fc-close {
	float: right !important;
}

/* unthemed */

.yp_fc-unthemed .yp_fc-popover {
	border-width: 1px !important;
	border-style: solid !important;
}

.yp_fc-unthemed .yp_fc-popover .yp_fc-header .yp_fc-close {
	font-size: .9em !important;
	margin-top: 2px !important;
}

/* jqui themed */

.yp_fc-popover > .ui-widget-header + .ui-widget-content {
	border-top: 0 !important; /* where they meet, let the header have the border */
}


/* Misc Reusable Components
--------------------------------------------------------------------------------------------------*/

.yp_fc-divider {
	border-style: solid !important;
	border-width: 1px !important;
}

hr.yp_fc-divider {
	height: 0 !important;
	margin: 0 !important;
	padding: 0 0 2px !important; /* height is unreliable across browsers, so use padding */
	border-width: 1px 0 !important;
}

.yp_fc-clear {
	clear: both !important;
}

.yp_fc-bg,
.yp_fc-bgevent-skeleton,
.yp_fc-highlight-skeleton,
.yp_fc-helper-skeleton {
	/* these element should always cling to top-left/right corners */
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
}

.yp_fc-bg {
	bottom: 0 !important; /* strech bg to bottom edge */
}

.yp_fc-bg table {
	height: 100% !important; /* strech bg to bottom edge */
}


/* Tables
--------------------------------------------------------------------------------------------------*/

.yp_fc table {
	width: 100% !important;
	box-sizing: border-box !important; /* fix scrollbar issue in firefox */
	table-layout: fixed !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	font-size: 1em !important; /* normalize cross-browser */
}

.yp_fc th {
	text-align: center !important;
}

.yp_fc th,
.yp_fc td {
	border-style: solid !important;
	border-width: 1px !important;
	padding: 0 !important;
	vertical-align: top !important;
}

.yp_fc td.yp_fc-today {
	border-style: double !important; /* overcome neighboring borders */
}


/* Internal Nav Links
--------------------------------------------------------------------------------------------------*/

a[data-goto] {
	cursor: pointer !important;
}

a[data-goto]:hover {
	text-decoration: underline !important;
}


/* Fake Table Rows
--------------------------------------------------------------------------------------------------*/

.yp_fc .yp_fc-row { /* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */
	/* no visible border by default. but make available if need be (scrollbar width compensation) */
	border-style: solid !important;
	border-width: 0 !important;
}

.yp_fc-row table {
	/* don't put left/right border on anything within a fake row.
	   the outer tbody will worry about this */
	border-left: 0 hidden transparent !important;
	border-right: 0 hidden transparent !important;

	/* no bottom borders on rows */
	border-bottom: 0 hidden transparent !important; 
}

.yp_fc-row:first-child table {
	border-top: 0 hidden transparent !important; /* no top border on first row */
}


/* Day Row (used within the header and the DayGrid)
--------------------------------------------------------------------------------------------------*/

.yp_fc-row {
	position: relative !important;
}

.yp_fc-row .yp_fc-bg {
	z-index: 1 !important;
}

/* highlighting cells & background event skeleton */

.yp_fc-row .yp_fc-bgevent-skeleton,
.yp_fc-row .yp_fc-highlight-skeleton {
	bottom: 0 !important; /* stretch skeleton to bottom of row */
}

.yp_fc-row .yp_fc-bgevent-skeleton table,
.yp_fc-row .yp_fc-highlight-skeleton table {
	height: 100% !important; /* stretch skeleton to bottom of row */
}

.yp_fc-row .yp_fc-highlight-skeleton td,
.yp_fc-row .yp_fc-bgevent-skeleton td {
	border-color: transparent !important;
}

.yp_fc-row .yp_fc-bgevent-skeleton {
	z-index: 2 !important;

}

.yp_fc-row .yp_fc-highlight-skeleton {
	z-index: 3 !important;
}

/*
row content (which contains day/week numbers and events) as well as "helper" (which contains
temporary rendered events).
*/

.yp_fc-row .yp_fc-content-skeleton {
	position: relative !important;
	z-index: 4 !important;
	padding-bottom: 2px !important; /* matches the space above the events */
}

.yp_fc-row .yp_fc-helper-skeleton {
	z-index: 5 !important;
}

.yp_fc-row .yp_fc-content-skeleton td,
.yp_fc-row .yp_fc-helper-skeleton td {
	/* see-through to the background below */
	background: none !important; /* in case <td>s are globally styled */
	border-color: transparent !important;

	/* don't put a border between events and/or the day number */
	border-bottom: 0 !important;
}

.yp_fc-row .yp_fc-content-skeleton tbody td, /* cells with events inside (so NOT the day number cell) */
.yp_fc-row .yp_fc-helper-skeleton tbody td {
	/* don't put a border between event cells */
	border-top: 0 !important;
}


/* Scrolling Container
--------------------------------------------------------------------------------------------------*/

.yp_fc-scroller {
	-webkit-overflow-scrolling: touch !important;
}

/* TODO: move to agenda/basic */
.yp_fc-scroller > .yp_fc-day-grid,
.yp_fc-scroller > .yp_fc-time-grid {
	position: relative !important; /* re-scope all positions */
	width: 100% !important; /* hack to force re-sizing this inner element when scrollbars appear/disappear */
}


/* Global Event Styles
--------------------------------------------------------------------------------------------------*/

.yp_fc-event {
	position: relative !important; /* for resize handle and other inner positioning */
	display: block !important; /* make the <a> tag block */
	font-size: .85em !important;
	line-height: 1.3 !important;
	border-radius: 3px !important;
	border: 1px solid #3a87ad !important; /* default BORDER color */
	font-weight: normal !important; /* undo jqui's ui-widget-header bold */
}

.yp_fc-event,
.yp_fc-event-dot {
	background-color: #3a87ad !important; /* default BACKGROUND color */
}

/* overpower some of bootstrap's and jqui's styles on <a> tags */
.yp_fc-event,
.yp_fc-event:hover,
.ui-widget .yp_fc-event {
	color: #fff !important; /* default TEXT color */
	text-decoration: none !important; /* if <a> has an href */
}

.yp_fc-event[href],
.yp_fc-event.yp_fc-draggable {
	cursor: pointer !important; /* give events with links and draggable events a hand mouse pointer */
}

.yp_fc-not-allowed, /* causes a "warning" cursor. applied on body */
.yp_fc-not-allowed .yp_fc-event { /* to override an event's custom cursor */
	cursor: not-allowed !important;
}

.yp_fc-event .yp_fc-bg { /* the generic .yp_fc-bg already does position */
	z-index: 1 !important;
	background: #fff !important;
	opacity: .25 !important;
}

.yp_fc-event .yp_fc-content {
	position: relative !important;
	z-index: 2 !important;
}

/* resizer (cursor AND touch devices) */

.yp_fc-event .yp_fc-resizer {
	position: absolute !important;
	z-index: 4 !important;
}

/* resizer (touch devices) */

.yp_fc-event .yp_fc-resizer {
	display: none !important;
}

.yp_fc-event.yp_fc-allow-mouse-resize .yp_fc-resizer,
.yp_fc-event.yp_fc-selected .yp_fc-resizer {
	/* only show when hovering or selected (with touch) */
	display: block !important;
}

/* hit area */

.yp_fc-event.yp_fc-selected .yp_fc-resizer:before {
	/* 40x40 touch area */
	content: "" !important;
	position: absolute !important;
	z-index: 9999 !important; /* user of this util can scope within a lower z-index */
	top: 50% !important;
	left: 50% !important;
	width: 40px !important;
	height: 40px !important;
	margin-left: -20px !important;
	margin-top: -20px !important;
}


/* Event Selection (only for touch devices)
--------------------------------------------------------------------------------------------------*/

.yp_fc-event.yp_fc-selected {
	z-index: 9999 !important !important; /* overcomes inline z-index */
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) !important;
}

.yp_fc-event.yp_fc-selected.yp_fc-dragging {
	box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3) !important;
}


/* Horizontal Events
--------------------------------------------------------------------------------------------------*/

/* bigger touch area when selected */
.yp_fc-h-event.yp_fc-selected:before {
	content: "" !important;
	position: absolute !important;
	z-index: 3 !important; /* below resizers */
	top: -10px !important;
	bottom: -10px !important;
	left: 0 !important;
	right: 0 !important;
}

/* events that are continuing to/from another week. kill rounded corners and butt up against edge */

.yp_fc-ltr .yp_fc-h-event.yp_fc-not-start,
.yp_fc-rtl .yp_fc-h-event.yp_fc-not-end {
	margin-left: 0 !important;
	border-left-width: 0 !important;
	padding-left: 1px !important; /* replace the border with padding */
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
}

.yp_fc-ltr .yp_fc-h-event.yp_fc-not-end,
.yp_fc-rtl .yp_fc-h-event.yp_fc-not-start {
	margin-right: 0 !important;
	border-right-width: 0 !important;
	padding-right: 1px !important; /* replace the border with padding */
	border-top-right-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
}

/* resizer (cursor AND touch devices) */

/* left resizer  */
.yp_fc-ltr .yp_fc-h-event .yp_fc-start-resizer,
.yp_fc-rtl .yp_fc-h-event .yp_fc-end-resizer {
	cursor: w-resize !important;
	left: -1px !important; /* overcome border */
}

/* right resizer */
.yp_fc-ltr .yp_fc-h-event .yp_fc-end-resizer,
.yp_fc-rtl .yp_fc-h-event .yp_fc-start-resizer {
	cursor: e-resize !important;
	right: -1px !important; /* overcome border */
}

/* resizer (mouse devices) */

.yp_fc-h-event.yp_fc-allow-mouse-resize .yp_fc-resizer {
	width: 7px !important;
	top: -1px !important; /* overcome top border */
	bottom: -1px !important; /* overcome bottom border */
}

/* resizer (touch devices) */

.yp_fc-h-event.yp_fc-selected .yp_fc-resizer {
	/* 8x8 little dot */
	border-radius: 4px !important;
	border-width: 1px !important;
	width: 6px !important;
	height: 6px !important;
	border-style: solid !important;
	border-color: inherit !important;
	background: #fff !important;
	/* vertically center */
	top: 50% !important;
	margin-top: -4px !important;
}

/* left resizer  */
.yp_fc-ltr .yp_fc-h-event.yp_fc-selected .yp_fc-start-resizer,
.yp_fc-rtl .yp_fc-h-event.yp_fc-selected .yp_fc-end-resizer {
	margin-left: -4px !important; /* centers the 8x8 dot on the left edge */
}

/* right resizer */
.yp_fc-ltr .yp_fc-h-event.yp_fc-selected .yp_fc-end-resizer,
.yp_fc-rtl .yp_fc-h-event.yp_fc-selected .yp_fc-start-resizer {
	margin-right: -4px !important; /* centers the 8x8 dot on the right edge */
}


/* DayGrid events
----------------------------------------------------------------------------------------------------
We use the full "fc-day-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/

.yp_fc-day-grid-event {
	margin: 1px 2px 0 !important; /* spacing between events and edges */
	padding: 0 1px !important;
}

tr:first-child > td > .yp_fc-day-grid-event {
	margin-top: 2px !important; /* a little bit more space before the first event */
}

.yp_fc-day-grid-event.yp_fc-selected:after {
	content: "" !important;
	position: absolute !important;
	z-index: 1 !important; /* same z-index as fc-bg, behind text */
	/* overcome the borders */
	top: -1px !important;
	right: -1px !important;
	bottom: -1px !important;
	left: -1px !important;
	/* darkening effect */
	background: #000 !important;
	opacity: .25 !important;
}

.yp_fc-day-grid-event .yp_fc-content { /* force events to be one-line tall */
	white-space: nowrap !important;
	overflow: hidden !important;
}

.yp_fc-day-grid-event .yp_fc-time {
	font-weight: bold !important;
}

/* resizer (cursor devices) */

/* left resizer  */
.yp_fc-ltr .yp_fc-day-grid-event.yp_fc-allow-mouse-resize .yp_fc-start-resizer,
.yp_fc-rtl .yp_fc-day-grid-event.yp_fc-allow-mouse-resize .yp_fc-end-resizer {
	margin-left: -2px !important; /* to the day cell's edge */
}

/* right resizer */
.yp_fc-ltr .yp_fc-day-grid-event.yp_fc-allow-mouse-resize .yp_fc-end-resizer,
.yp_fc-rtl .yp_fc-day-grid-event.yp_fc-allow-mouse-resize .yp_fc-start-resizer {
	margin-right: -2px !important; /* to the day cell's edge */
}


/* Event Limiting
--------------------------------------------------------------------------------------------------*/

/* "more" link that represents hidden events */

a.yp_fc-more {
	margin: 1px 3px !important;
	font-size: .85em !important;
	cursor: pointer !important;
	text-decoration: none !important;
}

a.yp_fc-more:hover {
	text-decoration: underline !important;
}

.yp_fc-limited { /* rows and cells that are hidden because of a "more" link */
	display: none !important;
}

/* popover that appears when "more" link is clicked */

.yp_fc-day-grid .yp_fc-row {
	z-index: 1 !important; /* make the "more" popover one higher than this */
}

.yp_fc-more-popover {
	z-index: 2 !important;
	width: 220px !important;
}

.yp_fc-more-popover .yp_fc-event-container {
	padding: 10px !important;
}


/* Now Indicator
--------------------------------------------------------------------------------------------------*/

.yp_fc-now-indicator {
	position: absolute !important;
	border: 0 solid red !important;
}


/* Utilities
--------------------------------------------------------------------------------------------------*/

.yp_fc-unselectable {
	-webkit-user-select: none !important;
	 -khtml-user-select: none !important;
	   -moz-user-select: none !important;
	    -ms-user-select: none !important;
	        user-select: none !important;
	-webkit-touch-callout: none !important;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
}



/* Toolbar
--------------------------------------------------------------------------------------------------*/

.yp_fc-toolbar {
	text-align: center !important;
}

.yp_fc-toolbar.yp_fc-header-toolbar {
	margin-bottom: 1em !important;
}

.yp_fc-toolbar.yp_fc-footer-toolbar {
	margin-top: 1em !important;
}

.yp_fc-toolbar .yp_fc-left {
	float: left !important;
}

.yp_fc-toolbar .yp_fc-right {
	float: right !important;
}

.yp_fc-toolbar .yp_fc-center {
	display: inline-block !important;
}

/* the things within each left/right/center section */
.yp_fc .yp_fc-toolbar > * > * { /* extra precedence to override button border margins */
	float: left !important;
	margin-left: .75em !important;
}

/* the first thing within each left/center/right section */
.yp_fc .yp_fc-toolbar > * > :first-child { /* extra precedence to override button border margins */
	margin-left: 0 !important;
}
	
/* title text */

.yp_fc-toolbar h2 {
	margin: 0 !important;
}

/* button layering (for border precedence) */

.yp_fc-toolbar button {
	position: relative !important;
}

.yp_fc-toolbar .yp_fc-state-hover,
.yp_fc-toolbar .ui-state-hover {
	z-index: 2 !important;
}
	
.yp_fc-toolbar .yp_fc-state-down {
	z-index: 3 !important;
}

.yp_fc-toolbar .yp_fc-state-active,
.yp_fc-toolbar .ui-state-active {
	z-index: 4 !important;
}

.yp_fc-toolbar button:focus {
	z-index: 5 !important;
}


/* View Structure
--------------------------------------------------------------------------------------------------*/

/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
.yp_fc-view-container *,
.yp_fc-view-container *:before,
.yp_fc-view-container *:after {
	-webkit-box-sizing: content-box !important;
	   -moz-box-sizing: content-box !important;
	        box-sizing: content-box !important;
}

.yp_fc-view, /* scope positioning and z-index's for everything within the view */
.yp_fc-view > table { /* so dragged elements can be above the view's main element */
	position: relative !important;
	z-index: 1 !important;
}



/* BasicView
--------------------------------------------------------------------------------------------------*/

/* day row structure */

.yp_fc-basicWeek-view .yp_fc-content-skeleton,
.yp_fc-basicDay-view .yp_fc-content-skeleton {
	/* there may be week numbers in these views, so no padding-top */
	padding-bottom: 1em !important; /* ensure a space at bottom of cell for user selecting/clicking */
}

.yp_fc-basic-view .yp_fc-body .yp_fc-row {
	min-height: 4em !important; /* ensure that all rows are at least this tall */
}

/* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */

.yp_fc-row.yp_fc-rigid {
	overflow: hidden !important;
}

.yp_fc-row.yp_fc-rigid .yp_fc-content-skeleton {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
}

/* week and day number styling */

.yp_fc-day-top.yp_fc-other-month {
	opacity: 0.3 !important;
}

.yp_fc-basic-view .yp_fc-week-number,
.yp_fc-basic-view .yp_fc-day-number {
	padding: 2px !important;
}

.yp_fc-basic-view th.yp_fc-week-number,
.yp_fc-basic-view th.yp_fc-day-number {
	padding: 0 2px !important; /* column headers can't have as much v space */
}

.yp_fc-ltr .yp_fc-basic-view .yp_fc-day-top .yp_fc-day-number { float: right !important; }
.yp_fc-rtl .yp_fc-basic-view .yp_fc-day-top .yp_fc-day-number { float: left !important; }

.yp_fc-ltr .yp_fc-basic-view .yp_fc-day-top .yp_fc-week-number { float: left !important; border-radius: 0 0 3px 0 !important; }
.yp_fc-rtl .yp_fc-basic-view .yp_fc-day-top .yp_fc-week-number { float: right !important; border-radius: 0 0 0 3px !important; }

.yp_fc-basic-view .yp_fc-day-top .yp_fc-week-number {
	min-width: 1.5em !important;
	text-align: center !important;
	background-color: #f2f2f2 !important;
	color: #808080 !important;
}

/* when week/day number have own column */

.yp_fc-basic-view td.yp_fc-week-number {
	text-align: center !important;
}

.yp_fc-basic-view td.yp_fc-week-number > * {
	/* work around the way we do column resizing and ensure a minimum width */
	display: inline-block !important;
	min-width: 1.25em !important;
}


/* AgendaView all-day area
--------------------------------------------------------------------------------------------------*/

.yp_fc-agenda-view .yp_fc-day-grid {
	position: relative !important;
	z-index: 2 !important; /* so the "more.." popover will be over the time grid */
}

.yp_fc-agenda-view .yp_fc-day-grid .yp_fc-row {
	min-height: 3em !important; /* all-day section will never get shorter than this */
}

.yp_fc-agenda-view .yp_fc-day-grid .yp_fc-row .yp_fc-content-skeleton {
	padding-bottom: 1em !important; /* give space underneath events for clicking/selecting days */
}


/* TimeGrid axis running down the side (for both the all-day area and the slot area)
--------------------------------------------------------------------------------------------------*/

.yp_fc .yp_fc-axis { /* .yp_fc to overcome default cell styles */
	vertical-align: middle !important;
	padding: 0 4px !important;
	white-space: nowrap !important;
}

.yp_fc-ltr .yp_fc-axis {
	text-align: right !important;
}

.yp_fc-rtl .yp_fc-axis {
	text-align: left !important;
}

.ui-widget td.yp_fc-axis {
	font-weight: normal !important; /* overcome jqui theme making it bold */
}


/* TimeGrid Structure
--------------------------------------------------------------------------------------------------*/

.yp_fc-time-grid-container, /* so scroll container's z-index is below all-day */
.yp_fc-time-grid { /* so slats/bg/content/etc positions get scoped within here */
	position: relative !important;
	z-index: 1 !important;
}

.yp_fc-time-grid {
	min-height: 100% !important; /* so if height setting is 'auto', .yp_fc-bg stretches to fill height */
}

.yp_fc-time-grid table { /* don't put outer borders on slats/bg/content/etc */
	border: 0 hidden transparent !important;
}

.yp_fc-time-grid > .yp_fc-bg {
	z-index: 1 !important;
}

.yp_fc-time-grid .yp_fc-slats,
.yp_fc-time-grid > hr { /* the <hr> AgendaView injects when grid is shorter than scroller */
	position: relative !important;
	z-index: 2 !important;
}

.yp_fc-time-grid .yp_fc-content-col {
	position: relative !important; /* because now-indicator lives directly inside */
}

.yp_fc-time-grid .yp_fc-content-skeleton {
	position: absolute !important;
	z-index: 3 !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
}

/* divs within a cell within the fc-content-skeleton */

.yp_fc-time-grid .yp_fc-business-container {
	position: relative !important;
	z-index: 1 !important;
}

.yp_fc-time-grid .yp_fc-bgevent-container {
	position: relative !important;
	z-index: 2 !important;
}

.yp_fc-time-grid .yp_fc-highlight-container {
	position: relative !important;
	z-index: 3 !important;
}

.yp_fc-time-grid .yp_fc-event-container {
	position: relative !important;
	z-index: 4 !important;
}

.yp_fc-time-grid .yp_fc-now-indicator-line {
	z-index: 5 !important;
}

.yp_fc-time-grid .yp_fc-helper-container { /* also is fc-event-container */
	position: relative !important;
	z-index: 6 !important;
}


/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/

.yp_fc-time-grid .yp_fc-slats td {
	height: 1.5em !important;
	border-bottom: 0 !important; /* each cell is responsible for its top border */
}

.yp_fc-time-grid .yp_fc-slats .yp_fc-minor td {
	border-top-style: dotted !important;
}

.yp_fc-time-grid .yp_fc-slats .ui-widget-content { /* for jqui theme */
	background: none !important; /* see through to fc-bg */
}


/* TimeGrid Highlighting Slots
--------------------------------------------------------------------------------------------------*/

.yp_fc-time-grid .yp_fc-highlight-container { /* a div within a cell within the fc-highlight-skeleton */
	position: relative !important; /* scopes the left/right of the fc-highlight to be in the column */
}

.yp_fc-time-grid .yp_fc-highlight {
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	/* top and bottom will be in by JS */
}


/* TimeGrid Event Containment
--------------------------------------------------------------------------------------------------*/

.yp_fc-ltr .yp_fc-time-grid .yp_fc-event-container { /* space on the sides of events for LTR (default) */
	margin: 0 2.5% 0 2px !important;
}

.yp_fc-rtl .yp_fc-time-grid .yp_fc-event-container { /* space on the sides of events for RTL */
	margin: 0 2px 0 2.5% !important;
}

.yp_fc-time-grid .yp_fc-event,
.yp_fc-time-grid .yp_fc-bgevent {
	position: absolute !important;
	z-index: 1 !important; /* scope inner z-index's */
}

.yp_fc-time-grid .yp_fc-bgevent {
	/* background events always span full width */
	left: 0 !important;
	right: 0 !important;
}


/* Generic Vertical Event
--------------------------------------------------------------------------------------------------*/

.yp_fc-v-event.yp_fc-not-start { /* events that are continuing from another day */
	/* replace space made by the top border with padding */
	border-top-width: 0 !important;
	padding-top: 1px !important;

	/* remove top rounded corners */
	border-top-left-radius: 0 !important;
	border-top-right-radius: 0 !important;
}

.yp_fc-v-event.yp_fc-not-end {
	/* replace space made by the top border with padding */
	border-bottom-width: 0 !important;
	padding-bottom: 1px !important;

	/* remove bottom rounded corners */
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
}


/* TimeGrid Event Styling
----------------------------------------------------------------------------------------------------
We use the full "fc-time-grid-event" class instead of using descendants because the event won't
be a descendant of the grid when it is being dragged.
*/

.yp_fc-time-grid-event {
	overflow: hidden !important; /* don't let the bg flow over rounded corners */
}

.yp_fc-time-grid-event.yp_fc-selected {
	/* need to allow touch resizers to extend outside event's bounding box */
	/* common fc-selected styles hide the fc-bg, so don't need this anyway */
	overflow: visible !important;
}

.yp_fc-time-grid-event.yp_fc-selected .yp_fc-bg {
	display: none !important; /* hide semi-white background, to appear darker */
}

.yp_fc-time-grid-event .yp_fc-content {
	overflow: hidden !important; /* for when .yp_fc-selected */
}

.yp_fc-time-grid-event .yp_fc-time,
.yp_fc-time-grid-event .yp_fc-title {
	padding: 0 1px !important;
}

.yp_fc-time-grid-event .yp_fc-time {
	font-size: .85em !important;
	white-space: nowrap !important;
}

/* short mode, where time and title are on the same line */

.yp_fc-time-grid-event.yp_fc-short .yp_fc-content {
	/* don't wrap to second line (now that contents will be inline) */
	white-space: nowrap !important;
}

.yp_fc-time-grid-event.yp_fc-short .yp_fc-time,
.yp_fc-time-grid-event.yp_fc-short .yp_fc-title {
	/* put the time and title on the same line */
	display: inline-block !important;
	vertical-align: top !important;
}

.yp_fc-time-grid-event.yp_fc-short .yp_fc-time span {
	display: none !important; /* don't display the full time text... */
}

.yp_fc-time-grid-event.yp_fc-short .yp_fc-time:before {
	content: attr(data-start) !important; /* ...instead, display only the start time */
}

.yp_fc-time-grid-event.yp_fc-short .yp_fc-time:after {
	content: "\000A0-\000A0" !important; /* seperate with a dash, wrapped in nbsp's */
}

.yp_fc-time-grid-event.yp_fc-short .yp_fc-title {
	font-size: .85em !important; /* make the title text the same size as the time */
	padding: 0 !important; /* undo padding from above */
}

/* resizer (cursor device) */

.yp_fc-time-grid-event.yp_fc-allow-mouse-resize .yp_fc-resizer {
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	height: 8px !important;
	overflow: hidden !important;
	line-height: 8px !important;
	font-size: 11px !important;
	font-family: monospace !important;
	text-align: center !important;
	cursor: s-resize !important;
}

.yp_fc-time-grid-event.yp_fc-allow-mouse-resize .yp_fc-resizer:after {
	content: "=" !important;
}

/* resizer (touch device) */

.yp_fc-time-grid-event.yp_fc-selected .yp_fc-resizer {
	/* 10x10 dot */
	border-radius: 5px !important;
	border-width: 1px !important;
	width: 8px !important;
	height: 8px !important;
	border-style: solid !important;
	border-color: inherit !important;
	background: #fff !important;
	/* horizontally center */
	left: 50% !important;
	margin-left: -5px !important;
	/* center on the bottom edge */
	bottom: -5px !important;
}


/* Now Indicator
--------------------------------------------------------------------------------------------------*/

.yp_fc-time-grid .yp_fc-now-indicator-line {
	border-top-width: 1px !important;
	left: 0 !important;
	right: 0 !important;
}

/* arrow on axis */

.yp_fc-time-grid .yp_fc-now-indicator-arrow {
	margin-top: -5px !important; /* vertically center on top coordinate */
}

.yp_fc-ltr .yp_fc-time-grid .yp_fc-now-indicator-arrow {
	left: 0 !important;
	/* triangle pointing right... */
	border-width: 5px 0 5px 6px !important;
	border-top-color: transparent !important;
	border-bottom-color: transparent !important;
}

.yp_fc-rtl .yp_fc-time-grid .yp_fc-now-indicator-arrow {
	right: 0 !important;
	/* triangle pointing left... */
	border-width: 5px 6px 5px 0 !important;
	border-top-color: transparent !important;
	border-bottom-color: transparent !important;
}



/* List View
--------------------------------------------------------------------------------------------------*/

/* possibly reusable */

.yp_fc-event-dot {
	display: inline-block !important;
	width: 10px !important;
	height: 10px !important;
	border-radius: 5px !important;
}

/* view wrapper */

.yp_fc-rtl .yp_fc-list-view {
	direction: rtl !important; /* unlike core views, leverage browser RTL */
}

.yp_fc-list-view {
	border-width: 1px !important;
	border-style: solid !important;
}

/* table resets */

.yp_fc .yp_fc-list-table {
	table-layout: auto !important; /* for shrinkwrapping cell content */
}

.yp_fc-list-table td {
	border-width: 1px 0 0 !important;
	padding: 8px 14px !important;
}

.yp_fc-list-table tr:first-child td {
	border-top-width: 0 !important;
}

/* day headings with the list */

.yp_fc-list-heading {
	border-bottom-width: 1px !important;
}

.yp_fc-list-heading td {
	font-weight: bold !important;
}

.yp_fc-ltr .yp_fc-list-heading-main { float: left !important; }
.yp_fc-ltr .yp_fc-list-heading-alt { float: right !important; }

.yp_fc-rtl .yp_fc-list-heading-main { float: right !important; }
.yp_fc-rtl .yp_fc-list-heading-alt { float: left !important; }

/* event list items */

.yp_fc-list-item.yp_fc-has-url {
	cursor: pointer !important; /* whole row will be clickable */
}

.yp_fc-list-item:hover td {
	background-color: #f5f5f5 !important;
}

.yp_fc-list-item-marker,
.yp_fc-list-item-time {
	white-space: nowrap !important;
	width: 1px !important;
}

/* make the dot closer to the event title */
.yp_fc-ltr .yp_fc-list-item-marker { padding-right: 0 !important; }
.yp_fc-rtl .yp_fc-list-item-marker { padding-left: 0 !important; }

.yp_fc-list-item-title a {
	/* every event title cell has an <a> tag */
	text-decoration: none !important;
	color: inherit !important;
}

.yp_fc-list-item-title a[href]:hover {
	/* hover effect only on titles with hrefs */
	text-decoration: underline !important;
}

/* message when no events */

.yp_fc-list-empty-wrap2 {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
}

.yp_fc-list-empty-wrap1 {
	width: 100% !important;
	height: 100% !important;
	display: table !important;
}

.yp_fc-list-empty {
	display: table-cell !important;
	vertical-align: middle !important;
	text-align: center !important;
}

.yp_fc-unthemed .yp_fc-list-empty { /* theme will provide own background */
	background-color: #eee !important;
}

.yp_fc-content {
	cursor: pointer !important;
}
